package dletc.FileReader_FileWriter;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class FileReader02 {

	public static void main(String[] args) {
		// 案例 ：字符流读取文件操作
		//关于异常的处理
		
		//1.创建文件对象
		File file = new File("A.txt");
		
		FileReader rd = null;
		
		try{
			
			//2.创建流对象（输入/输出）[管道连接了文件和java文件（内存）]
			rd = new FileReader(file); //可能发生异常
			
			//3.读操作  返回读取字符的ASCII码 如果达到末尾，返回-1
			/*int read = rd.read();
			while(read != -1){
				//read 是返回的相应解码  要打印相应的字符  强转（char）
				System.out.println((char)read);
				read = rd.read();
			}*/
			//简化代码
			int read;  //rd.read() 可能发生异常。
			while((read = rd.read()) != -1){
				System.out.print((char)read);
			}
		}catch(IOException e){
			e.printStackTrace();
		}finally {
			//4.关闭资源  发布发生异常都需要关闭流 放在finally
			try {
				//判断rd要是null的话 就不必关闭了 
				if(rd != null)rd.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

	}

}
